<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script>
        // 1. 数据类型
        // 基本类型 数字，字符串，布尔，undefined，null
        let num = 1
        console.log('num', num)
        let food = '西兰花炒蛋'
        console.log('food', food)
        let male = false
        console.log('male', male)
        let empty = undefined
        console.log('empty', empty)
        let empty2 = null
        console.log('empty2', empty2)

        // 复杂类型 对象，数组，函数
        let person = {
            name: 'jack',
            age: 18,
            male: false,
        }
        console.log(person)

        let foods = ['西兰花', '西葫芦', '西红柿', '西瓜', '西北风']
        console.log(foods)

        let sayHi = function() {
            console.log('么么哒')
        }
        sayHi()

        // let 变量 可以修改,JS中变量的直接赋值，不限制类型
        person = 'jack'
        console.log('person:', person)

        // const 常量 无法修改
        const pi = 3.141592653
            // pi = 123

        const dog = {
            name: '柯基',
            color: '橘黄色',
            food: ['骨头', '狗粮'],
        }
        const cat = {
            name: '橘猫',
            color: '橘黄色',
        }

        cat.name = '小橘猫'
            // const 无法重新赋值
            // dog = '哈士奇'

        // 对象类型，是引用类型
        // 对象.xxx=新的值 dog 对应的地址没变
        // 修改的是 地址对应的数据中的 color 属性的值
        dog.color = '绿色'
    </script>
</body>

</html>